In delta modulating and other similar systems, the digital encoded signal stream (1's and 0's) represents the slope of each segment of the analog signal. A digital 1 means the analog slope is positive, and the decoder recontructs the analog signal by increasing it a predetermined amount. A digital 0 causes the decoder to decrease the analog signal by the same amount. Thus, the reconstructed analog signal appears as a series of positively or negatively sloped segments. The relative preponderance of 1's or 0's in the digital signal stream indicates whether the analog signal is rising, falling, or not changing.
The digital signal is encoded from an analog input by comparing, at each clock interval, the reconstructed (decoded) analog signal (the most recent output of the decoder, representative of a past value of the input to the encoder) with the present value of the input and generating a 1 if the input is less than the reconstructed signal and a 0 if the input is greater.
The major difficulty with such systems has been in choosing the amount by which to increase or decrease the reconstructed signal at each interval, i.e., the magnitude of the decoding slope. If the decoding slope chosen does not roughly match the slope of the input, there will be noticeable quantization noise or error between input and reconstructed output. If the decoding slope is held constant, the input can only accurately be encoded over a narrow range of amplitudes because too large an amplitude in the input cannot be reproduced in the decoded output. Faced with such a large input, the encoder will encode a continuous string of 1's or 0's in an unsuccessful attempt to raise or lower the output fast enough to keep up with the input. Conversely, too small an input slope is encoded as zero because the decoding slopes are so large that the reconstructed analog continuously overshoots the input, thereby producing a sawtooth of alternating 1's and 0's in the digital signal.
To overcome the limitations of using a constant decoding slope, the prior art has made the size of the decoding slope dependent on the input slope. These systems are commonly called continuously variable slope delta (CVSD) encoders, and can accomodate greater dynamic range in the input. They typically have a signal generating means (e.g., an integrator that responds to a reference signal. The reference signal is varied to change the magnitude of the decoding slope. U.S. Pat. No. 4,190,801 of DeFreitas discloses a CVSD system that varies the decoding slope (and the reference signal) in proportion to the derivative of the input or the square of the derivative. The derivative is computed by passing the digital signal through an audio filter, and the derivative squared is derived by feeding back the computed slope to the input. of the audio filter. An envelope or peak detector processes the output of the filter, and the peak detector output is used as the reference for the integrator. Another copending application of DeFreitas, a divisional of Ser. No. 875,336 filed in August 1979, discloses mixing both the input derivative and derivative squared in computing the decoding slope. Both copending applications are hereby incorporated by reference.